package com.dhms.vostok1.data.message_center

import com.dhms.vostok1.utils.toDate
import com.dhms.vostok1.utils.toFormatDate
import com.squareup.moshi.Json


enum class MessageCenterType(val value: String) {
    UNKNOWN(""),

    //审批
    APPROVAL("approval"),

    //润滑
    LUBRICATION("lubrication"),

    //维保
    MAINTENANCE("maintenance"),

    //点检
    SPOT_PATROL("spot_patrol"),

    //隐患
    PERIL("peril"),

    // 故障
    FAULT("fault"),

    //检修
    REPAIR("repair"),

    //出库
    WAREHOUSE_OUT("warehouse_out");


    companion object {
        fun fromString(type: String) =
            MessageCenterType.values().associateBy(MessageCenterType::value)[type]
                ?: MessageCenterType.UNKNOWN
    }
}


/**
 *
 * @param messageGroup 消息组名称
 * @param lastTitle 消息最后一条主题
 * @param lastTime 消息最后一条时间
 * @param unreadCount  未读数量
 */

data class MessageCenterData(
    /* 消息组名称 */
    @Json(name = "message_group")
    val messageGroup: String,
    /* 消息最后一条主题 */
    @Json(name = "last_title")
    var lastTitle: String?,
    /* 消息最后一条时间 */
    @Json(name = "last_time")
    var lastTime: String?,
    /*  未读数量 */
    @Json(name = "unread_count")
    var unreadCount: Long?
) {
    val formattedReadCount: String
        get() {
            unreadCount?.let {
                if (it > 99) {
                    return "99+"
                }
                return "$it"
            }
            return ""
        }

    val formattedTime: String?
        get() {
            return lastTime?.toDate("yyyy-MM-dd")?.toFormatDate("yyyy-MM-dd") ?: lastTime
        }


}


